package com.zyw.auth.dao;

import com.zyw.auth.domain.Rights;
import com.zyw.kayla.infra.cache.mapper.BaseCrudMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface RightsDao extends BaseCrudMapper<Rights> {
    /**
     * 根据管理员ID查询权限列表
     *
     * @param adminId   管理员ID
     * @param cProperty 数据状态
     */
    List<Rights> queryByAdminId(@Param("adminId") Long adminId, @Param("cProperty") Integer cProperty);

	/**
	 * 根据管理员ID，获取一级菜单列表
	 * @param adminId 管理员ID
	 * @param cProperty 数据状态
	 */
    List<Rights> queryTopMenus(@Param("adminId") Long adminId, @Param("cProperty") Integer cProperty);
    
    /**
     * 根据管理员ID，及父级菜单ID，获取所有权限列表
     * @param adminId
     * @param cProperty
     * @param parentId
     * @return
     */
	List<Rights> querySideRights(@Param("adminId") Long adminId, @Param("cProperty") Integer cProperty,
                                 @Param("parentId") Long parentId);
	
	List<Rights> queryAllRights();
}